// To parse this JSON data, do
//
//     final userBean = userBeanFromJson(jsonString);

import 'dart:convert';

import 'package:json_annotation/json_annotation.dart';

part 'user_bean.g.dart';

UserBean userBeanFromJson(String str) => UserBean.fromJson(json.decode(str));

String userBeanToJson(UserBean data) => json.encode(data.toJson());

@JsonSerializable()
class UserBean {
  @JsonKey(name: "id")
  int? id;
  @JsonKey(name: "staff_id")
  int? staffId;
  @JsonKey(name: "from_user_id")
  int? fromUserId;
  @JsonKey(name: "from_staff_id")
  int? fromStaffId;
  @JsonKey(name: "region")
  int? region;
  @JsonKey(name: "rm_id")
  int? rmId;
  @JsonKey(name: "create_time")
  int? createTime;
  @JsonKey(name: "update_time")
  int? updateTime;
  @JsonKey(name: "status")
  int? status;
  @JsonKey(name: "is_active")
  int? isActive;
  @JsonKey(name: "cc")
  int? cc;
  @JsonKey(name: "mobile")
  String? mobile;
  @JsonKey(name: "name")
  String? name;
  @JsonKey(name: "password")
  String? password;
  @JsonKey(name: "salt")
  String? salt;
  @JsonKey(name: "score")
  int? score;
  @JsonKey(name: "label")
  String? label;
  @JsonKey(name: "gender")
  int? gender;
  @JsonKey(name: "age")
  int? age;
  @JsonKey(name: "trade")
  String? trade;
  @JsonKey(name: "avatar")
  String? avatar;
  @JsonKey(name: "email")
  String? email;
  @JsonKey(name: "id_number")
  String? idNumber;
  @JsonKey(name: "rong")
  String? rong;
  @JsonKey(name: "online")
  int? online;
  @JsonKey(name: "level")
  int? level;
  @JsonKey(name: "coin")
  int? coin;
  @JsonKey(name: "overdue")
  int? overdue;
  @JsonKey(name: "from")
  String? from;
  @JsonKey(name: "astro")
  int? astro;
  @JsonKey(name: "province")
  String? province;
  @JsonKey(name: "city")
  String? city;
  @JsonKey(name: "area")
  String? area;
  @JsonKey(name: "address")
  String? address;
  @JsonKey(name: "qq")
  String? qq;
  @JsonKey(name: "wechat")
  String? wechat;
  @JsonKey(name: "wechat_union")
  String? wechatUnion;
  @JsonKey(name: "wechat_avatar")
  String? wechatAvatar;
  @JsonKey(name: "wechat_nickname")
  String? wechatNickname;
  @JsonKey(name: "weibo")
  String? weibo;
  @JsonKey(name: "birthday")
  String? birthday;
  @JsonKey(name: "vertu")
  String? vertu;
  @JsonKey(name: "day")
  int? day;
  @JsonKey(name: "mobile_area")
  dynamic mobileArea;
  @JsonKey(name: "is_auth")
  int? isAuth;
  @JsonKey(name: "noah_auth")
  int? noahAuth;
  @JsonKey(name: "vip_level")
  int? vipLevel;
  @JsonKey(name: "invite_code")
  String? inviteCode;
  @JsonKey(name: "parent_id")
  int? parentId;
  @JsonKey(name: "last_login_time")
  int? lastLoginTime;
  @JsonKey(name: "fenqi_open_id")
  String? fenqiOpenId;
  @JsonKey(name: "pingan_open_id")
  dynamic pinganOpenId;
  @JsonKey(name: "pingan_token")
  dynamic pinganToken;
  @JsonKey(name: "pingan_avatar")
  dynamic pinganAvatar;
  @JsonKey(name: "pingan_name")
  dynamic pinganName;
  @JsonKey(name: "is_black_diamond_card")
  int? isBlackDiamondCard;
  @JsonKey(name: "black_diamond_card_overdue")
  int? blackDiamondCardOverdue;
  @JsonKey(name: "tiktok_avatar")
  String? tiktokAvatar;
  @JsonKey(name: "tiktok_nickname")
  String? tiktokNickname;
  @JsonKey(name: "is_tiktok_course_card")
  String? isTiktokCourseCard;
  @JsonKey(name: "tiktok_course_card_overdue")
  int? tiktokCourseCardOverdue;
  @JsonKey(name: "course_staff_id")
  int? courseStaffId;
  @JsonKey(name: "help_value")
  int? helpValue;
  @JsonKey(name: "new_from_staff_id")
  int? newFromStaffId;
  @JsonKey(name: "fansclub_vip")
  int? fansclubVip;
  @JsonKey(name: "logoff_time")
  int? logoffTime;
  @JsonKey(name: "imei")
  String? imei;
  @JsonKey(name: "device")
  Device? device;
  @JsonKey(name: "token")
  String? token;
  @JsonKey(name: "is_butler")
  int? isButler;
  @JsonKey(name: "butler_id")
  int? butlerId;
  @JsonKey(name: "corp_id")
  int? corpId;
  @JsonKey(name: "from_corp")
  int? fromCorp;
  @JsonKey(name: "exp")
  int? exp;
  @JsonKey(name: "has_experience_card")
  bool? hasExperienceCard;

  UserBean({
    this.id,
    this.staffId,
    this.fromUserId,
    this.fromStaffId,
    this.region,
    this.rmId,
    this.createTime,
    this.updateTime,
    this.status,
    this.isActive,
    this.cc,
    this.mobile,
    this.name,
    this.password,
    this.salt,
    this.score,
    this.label,
    this.gender,
    this.age,
    this.trade,
    this.avatar,
    this.email,
    this.idNumber,
    this.rong,
    this.online,
    this.level,
    this.coin,
    this.overdue,
    this.from,
    this.astro,
    this.province,
    this.city,
    this.area,
    this.address,
    this.qq,
    this.wechat,
    this.wechatUnion,
    this.wechatAvatar,
    this.wechatNickname,
    this.weibo,
    this.birthday,
    this.vertu,
    this.day,
    this.mobileArea,
    this.isAuth,
    this.noahAuth,
    this.vipLevel,
    this.inviteCode,
    this.parentId,
    this.lastLoginTime,
    this.fenqiOpenId,
    this.pinganOpenId,
    this.pinganToken,
    this.pinganAvatar,
    this.pinganName,
    this.isBlackDiamondCard,
    this.blackDiamondCardOverdue,
    this.tiktokAvatar,
    this.tiktokNickname,
    this.isTiktokCourseCard,
    this.tiktokCourseCardOverdue,
    this.courseStaffId,
    this.helpValue,
    this.newFromStaffId,
    this.fansclubVip,
    this.logoffTime,
    this.imei,
    this.device,
    this.token,
    this.isButler,
    this.butlerId,
    this.corpId,
    this.fromCorp,
    this.exp,
    this.hasExperienceCard,
  });

  factory UserBean.fromJson(json) => _$UserBeanFromJson(json);

  Map<String, dynamic> toJson() => _$UserBeanToJson(this);
}

@JsonSerializable()
class Device {
  @JsonKey(name: "app")
  String? app;
  @JsonKey(name: "res")
  String? res;
  @JsonKey(name: "ver")
  String? ver;
  @JsonKey(name: "mod")
  String? mod;
  @JsonKey(name: "sys")
  String? sys;
  @JsonKey(name: "is_no_vertu_login")
  String? isNoVertuLogin;
  @JsonKey(name: "imei2")
  String? imei2;
  @JsonKey(name: "rom")
  String? rom;
  @JsonKey(name: "pg")
  String? pg;
  @JsonKey(name: "mf")
  String? mf;
  @JsonKey(name: "imei")
  String? imei;
  @JsonKey(name: "sn")
  String? sn;
  @JsonKey(name: "net")
  String? net;
  @JsonKey(name: "did")
  String? did;
  @JsonKey(name: "app_code")
  String? appCode;

  Device({
    this.app,
    this.res,
    this.ver,
    this.mod,
    this.sys,
    this.isNoVertuLogin,
    this.imei2,
    this.rom,
    this.pg,
    this.mf,
    this.imei,
    this.sn,
    this.net,
    this.did,
    this.appCode,
  });

  factory Device.fromJson(Map<String, dynamic> json) => _$DeviceFromJson(json);

  Map<String, dynamic> toJson() => _$DeviceToJson(this);
}
